package com.drerp.RH.ferias;

import java.util.Calendar;
import java.util.Date;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import com.drerp.RH.Colaborador;
import com.drerp.RH.DAO.ColaboradorDAO;
import com.drerp.RH.ferias.DAO.FeriasDAO;


@Entity
public class Ferias {
	
	public Ferias() {
		this.aprovada=false;
	}
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private long ferias_id;
	
	@ManyToOne
	private Colaborador colab;
	
	private Calendar data_inicio;
	private Calendar data_termino;
	private String comentario;
	private boolean aprovada;
	
	public void setFerias_id(Long ferias_id){
		this.ferias_id = ferias_id;
	}
	
	public Long getFerias_id(){
		return ferias_id;
	}
	
	
	public void setColaborador(Colaborador colab){
		this.colab = colab;
	}
	
	public Colaborador getColaborador(){
		return colab;
	}
	
	public void setData_inicio(Calendar data_inicio){
		this.data_inicio = data_inicio;
	}
	public Calendar getData_inicio(){
		return data_inicio;
	}
	
	public void setData_termino(Calendar data_termino){
		this.data_termino = data_termino;
	}
	public Calendar getData_termino(){
		return data_termino;
	}
	
	public void setComentario(String comentario){
		this.comentario = comentario;
	}
	public String getComentario(){
		return comentario;
	}
	
	public void setAprovada(boolean aprovada){
		this.aprovada = aprovada;
	}
	
	public boolean getAprovada(){
		return aprovada;
	}

	public static List<Ferias> encontraTodasFeriasAtivas() {
		FeriasDAO feriasDAO = new FeriasDAO();
		return feriasDAO.encontrarFeriasAtivas();
	}
	
	public static List<Ferias> encontraTodasFeriasFuturas() {
		FeriasDAO feriasDAO = new FeriasDAO();
		return feriasDAO.encontrarFeriasFuturas();
	}
	
	public static List<Ferias> encontraTodasSolicitacoes() {
		FeriasDAO feriasDAO = new FeriasDAO();
		return feriasDAO.encontrarSolicitacoes();
	}
	
	public static List<Ferias> encontraTodasSolicitacoes(Colaborador colab) {
		FeriasDAO feriasDAO = new FeriasDAO();
		return feriasDAO.encontrarSolicitacoesColaborador(colab);
	}
	public static List<Ferias> encontraTodasFeriasAprovadas(Colaborador colab) {
		FeriasDAO feriasDAO = new FeriasDAO();
		return feriasDAO.encontrarFeriasAprovadasColaborador(colab);
	}
	
	
}
